package com.kmxd.ams.infra.archive.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 整理规则-规则字段
 *
 * @author nickbi
 * @since 2022-07-30
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("s_archive_rule_field")
public class ArchiveRuleField implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键ID */
  private Long id;

  /** 门类配置id 将s_archive_rule表中的arch_type_id冗余过来，便于查询 */
  private Long archTypeId;

  /** 规则id 关联s_archive_rule表主键 */
  private Long ruleId;

  /** 字段英文名称 */
  private String fieldCode;

  /** 字段中文名称 */
  private String fieldName;
  /** 排序 */
  private Integer sort;

  /** 类型: 1元数据字段，2固定内容 */
  private Integer type;

  /** 创建人 */
  @TableField(fill = FieldFill.INSERT)
  private Long createBy;

  /** 创建时间 */
  @TableField(fill = FieldFill.INSERT)
  private Date createTime;

  /** 更新人 */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private Long updateBy;

  /** 更新时间 */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private Date updateTime;

  /** 表名 */
  private String tableId;

  /** 启用分组:0不启用,1启用 */
  private Boolean enableGroup;

  /** 启用盒分组:0不启用,1启用 */
  private Boolean enableBoxGroup;

  /** 前置拼接字段 */
  private String spliceField;

  /** 流水字段:0不启用,1启用 */
  private Boolean enableIncrement;

  /** 字典相关字典使用value还是name */
  private String dictField;
}
